/**
 * 向外导出的对象
 */
export default {
	/**
	 * 用于设置键值对到 sessionStorage
	 * @param {string} name - 键名
	 * @param {*} value - 要存储的值
	 */
	set(name, value) {
		sessionStorage.setItem(name, value);
	},
	/**
	 * 用于将对象转换为 JSON 字符串后设置到 sessionStorage
	 * @param {string} name - 键名
	 * @param {*} value - 要存储的对象
	 */
	setJson(name, value) {
		sessionStorage.setItem(name, JSON.stringify(value));
	},
	/**
	 * 从 sessionStorage 获取指定键对应的值
	 * @param {string} name - 键名
	 * @return {*} 获取到的值
	 */
	get(name) {
		return sessionStorage.getItem(name);
	},
	/**
	 * 从 sessionStorage 获取指定键对应的值并解析为对象
	 * @param {string} name - 键名
	 * @return {*|null} 解析后的对象或 null（如果不存在）
	 */
	getJson(name) {
		const content = sessionStorage.getItem(name);
		if (!content) {
			return null;
		}
		return JSON.parse(content);
	},
	/**
	 * 从 sessionStorage 移除指定键的项
	 * @param {string} name - 键名
	 */
	remove(name) {
		sessionStorage.removeItem(name);
	},
	/**
	 * 清空 sessionStorage
	 */
	clear() {
		sessionStorage.clear();
	}
};